The example below shows how different kinds of generic data can be created.
// This example shows different ways of constructing generic data. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in C# on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-CSharp . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. using System; using System.Collections; using OpcLabs.BaseLib.DataTypeModel; namespace UADocExamples.ComplexData._GenericData { class _Construction { public static void Main1() { // Create enumeration data with value of 1. var enumerationData = new EnumerationData(1); Console.WriteLine(enumerationData); // Create opaque data from an array of 2 bytes, specifying its size as 15 bits. var opaqueData1 = new OpaqueData(new byte[] {0xAA, 0x55}, sizeInBits:15); Console.WriteLine(opaqueData1); // Create opaque data from a bit array. var opaqueData2 = new OpaqueData(new BitArray(new[] { false, true, false, true, false })); Console.WriteLine(opaqueData2); // Create primitive data with System.Double value of 180.0. var primitiveData1 = new PrimitiveData(180.0d); Console.WriteLine(primitiveData1); // Create primitive data with System.String value. var primitiveData2 = new PrimitiveData("Temperature is too high!"); Console.WriteLine(primitiveData2); // Create sequence data with two elements, using collection initializer syntax. var sequenceData1 = new SequenceData { opaqueData1, opaqueData2 }; Console.WriteLine(sequenceData1); // Create the same sequence data, using the Add method. var sequenceData2 = new SequenceData(); sequenceData2.Elements.Add(opaqueData1); sequenceData2.Elements.Add(opaqueData2); Console.WriteLine(sequenceData2); // Create the same sequence data, using an array (an enumerable) of its elements. var sequenceData3 = new SequenceData( new GenericDataCollection(new[] {opaqueData1, opaqueData2})); Console.WriteLine(sequenceData3); // Create structured data with two members, using collection initializer syntax. var structuredData1 = new StructuredData { {"Message", primitiveData2}, {"Status", enumerationData} }; Console.WriteLine(structuredData1); // Create the same structured data using the Add method. var structuredData2 = new StructuredData(); structuredData2.Add("Message", primitiveData2); structuredData2.Add("Status", enumerationData); Console.WriteLine(structuredData2); // Create union data. var unionData1 = new UnionData("DoubleField", primitiveData1); Console.WriteLine(unionData1); } } }
' This example shows different ways of constructing generic data. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . ' OPC client and subscriber examples in VB.NET on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBNET . ' Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own ' a commercial license in order to use Online Forums, and we reply to every post. Imports System Imports System.Collections Imports OpcLabs.BaseLib.DataTypeModel Namespace ComplexData._GenericData Friend Class _Construction Public Shared Sub Main1() ' Create enumeration data with value of 1. Dim enumerationData = New EnumerationData(1) Console.WriteLine(enumerationData) ' Create opaque data from an array of 2 bytes, specifying its size as 15 bits. Dim opaqueData1 = New OpaqueData(New Byte() {170, 85}, sizeInBits:=15) Console.WriteLine(opaqueData1) ' Create opaque data from a bit array. Dim opaqueData2 = New OpaqueData(New BitArray(New Boolean() {False, True, False, True, False})) Console.WriteLine(opaqueData2) ' Create primitive data with System.Double value of 180.0. Dim primitiveData1 = New PrimitiveData(180) Console.WriteLine(primitiveData1) ' Create primitive data with System.String value. Dim primitiveData2 = New PrimitiveData("Temperature is too high!") Console.WriteLine(primitiveData2) ' Create sequence data with two elements, using collection initializer syntax. Dim sequenceData1 = New SequenceData() From {opaqueData1, opaqueData2} Console.WriteLine(sequenceData1) ' Create the same sequence data, using the Add method. Dim sequenceData2 = New SequenceData sequenceData2.Elements.Add(opaqueData1) sequenceData2.Elements.Add(opaqueData2) Console.WriteLine(sequenceData2) ' Create the same sequence data, using an array (an enumerable) of its elements. Dim sequenceData3 = New SequenceData(New GenericDataCollection(New OpaqueData() {opaqueData1, opaqueData2})) Console.WriteLine(sequenceData3) ' Create structured data with two members, using collection initializer syntax. Dim structuredData1 = New StructuredData() From { _ {"Message", primitiveData2}, _ {"Status", enumerationData}} Console.WriteLine(structuredData1) ' Create the same structured data using the Add method. Dim structuredData2 = New StructuredData() structuredData2.Add("Message", primitiveData2) structuredData2.Add("Status", enumerationData) Console.WriteLine(structuredData2) End Sub End Class End Namespace
// This example shows different ways of constructing generic data. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in Object Pascal (Delphi) on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-OP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. class procedure _Construction.Main; var ByteArray1, ByteArray2: OleVariant; EnumerationData: _EnumerationData; OpaqueData1, OpaqueData2: _OpaqueData; PrimitiveData1, PrimitiveData2: _PrimitiveData; SequenceData1: _SequenceData; StructuredData1: _StructuredData; begin // Create enumeration data with value of 1. EnumerationData := CoEnumerationData.Create; EnumerationData.Value := 1; WriteLn(EnumerationData.ToString); // Create opaque data from an array of 2 bytes, specifying its size as 15 bits. OpaqueData1 := CoOpaqueData.Create; ByteArray1 := VarArrayCreate([0, 1], varVariant); ByteArray1[0] := $AA; ByteArray1[1] := $55; OpaqueData1.SetByteArrayValue(ByteArray1, 15); WriteLn(OpaqueData1.ToString); // Create opaque data from an array of 1 bytes, specifying its size as 5 bits. OpaqueData2 := CoOpaqueData.Create; ByteArray2 := VarArrayCreate([0, 0], varVariant); ByteArray2[0] := $A; OpaqueData2.SetByteArrayValue(ByteArray2, 5); WriteLn(OpaqueData2.ToString); // Create primitive data with System.Double value of 180.0. PrimitiveData1 := CoPrimitiveData.Create; PrimitiveData1.Value := 180.0; WriteLn(PrimitiveData1.ToString); // Create primitive data with System.String value. PrimitiveData2 := CoPrimitiveData.Create; PrimitiveData2.Value := 'Temperature is too high!'; WriteLn(PrimitiveData2.ToString); // Create sequence data with two elements, using the Add method. SequenceData1 := CoSequenceData.Create; SequenceData1.Elements.Add(OpaqueData1); SequenceData1.Elements.Add(OpaqueData2); WriteLn(SequenceData1.ToString); // Create structured data with two members, using the Add method. StructuredData1 := CoStructuredData.Create; StructuredData1.Add('Message', PrimitiveData2); StructuredData1.Add('Status', EnumerationData); WriteLn(StructuredData1.ToString); VarClear(ByteArray2); VarClear(ByteArray1); end;
// This example shows different ways of constructing generic data. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . // OPC client and subscriber examples in PHP on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-PHP . // Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own // a commercial license in order to use Online Forums, and we reply to every post. // Create enumeration data with value of 1. $EnumerationData = new COM("OpcLabs.BaseLib.DataTypeModel.EnumerationData"); $EnumerationData->Value = 1; printf("%s\n", $EnumerationData); // Create opaque data from an array of 2 bytes, specifying its size as 15 bits. $OpaqueData1 = new COM("OpcLabs.BaseLib.DataTypeModel.OpaqueData"); $ByteArray1[0] = 0xAA; $ByteArray1[1] = 0x55; $OpaqueData1->SetByteArrayValue($ByteArray1, 15); printf("%s\n", $OpaqueData1); // Create opaque data from a bit array. $OpaqueData2 = new COM("OpcLabs.BaseLib.DataTypeModel.OpaqueData"); $BitArray = $OpaqueData2->Value; $BitArray->Length = 5; $BitArray->Set(0, false); $BitArray->Set(1, true); $BitArray->Set(2, false); $BitArray->Set(3, true); $BitArray->Set(4, false); printf("%s\n", $OpaqueData2); // Create primitive data with System.Double value of 180.0. $PrimitiveData1 = new COM("OpcLabs.BaseLib.DataTypeModel.PrimitiveData"); $PrimitiveData1->Value = 180.0; printf("%s\n", $PrimitiveData1); // Create primitive data with System.String value. $PrimitiveData2 = new COM("OpcLabs.BaseLib.DataTypeModel.PrimitiveData"); $PrimitiveData2->Value = "Temperature is too high!"; printf("%s\n", $PrimitiveData2); // Create sequence data with two elements, using the Add method. $SequenceData1 = new COM("OpcLabs.BaseLib.DataTypeModel.SequenceData"); $SequenceData1->Elements->Add($OpaqueData1); $SequenceData1->Elements->Add($OpaqueData2); printf("%s\n", $SequenceData1); // Create structured data with two members, using the Add method. $StructuredData1 = new COM("OpcLabs.BaseLib.DataTypeModel.StructuredData"); $StructuredData1->Add("Message", $PrimitiveData2); $StructuredData1->Add("Status", $EnumerationData); printf("%s\n", $StructuredData1);
Rem This example shows different ways of constructing generic data. Rem Rem Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Rem OPC client and subscriber examples in VBScript on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-VBScript . Rem Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own Rem a commercial license in order to use Online Forums, and we reply to every post. Option Explicit ' Create enumeration data with value of 1. Dim EnumerationData: Set EnumerationData = CreateObject("OpcLabs.BaseLib.DataTypeModel.EnumerationData") EnumerationData.Value = 1 WScript.Echo EnumerationData ' Create opaque data from an array of 2 bytes, specifying its size as 15 bits. Dim OpaqueData1: Set OpaqueData1 = CreateObject("OpcLabs.BaseLib.DataTypeModel.OpaqueData") OpaqueData1.SetByteArrayValue Array(&HAA, &H55), 15 WScript.Echo OpaqueData1 ' Create opaque data from a bit array. Dim OpaqueData2: Set OpaqueData2 = CreateObject("OpcLabs.BaseLib.DataTypeModel.OpaqueData") Dim BitArray: Set BitArray = OpaqueData2.Value BitArray.Length = 5 BitArray(0) = False BitArray(1) = True BitArray(2) = False BitArray(3) = True BitArray(4) = False WScript.Echo OpaqueData2 ' Create primitive data with System.Double value of 180.0. Dim PrimitiveData1: Set PrimitiveData1 = CreateObject("OpcLabs.BaseLib.DataTypeModel.PrimitiveData") PrimitiveData1.Value = 180.0 WScript.Echo PrimitiveData1 ' Create primitive data with System.String value. Dim PrimitiveData2: Set PrimitiveData2 = CreateObject("OpcLabs.BaseLib.DataTypeModel.PrimitiveData") PrimitiveData2.Value = "Temperature is too high!" WScript.Echo PrimitiveData2 ' Create sequence data with two elements, using the Add method. Dim SequenceData1: Set SequenceData1 = CreateObject("OpcLabs.BaseLib.DataTypeModel.SequenceData") SequenceData1.Elements.Add OpaqueData1 SequenceData1.Elements.Add OpaqueData2 WScript.Echo SequenceData1 ' Create structured data with two members, using the Add method. Dim StructuredData1: Set StructuredData1 = CreateObject("OpcLabs.BaseLib.DataTypeModel.StructuredData") StructuredData1.Add "Message", PrimitiveData2 StructuredData1.Add "Status", EnumerationData WScript.Echo StructuredData1
# This example shows different ways of constructing generic data. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # Missing some example? Ask us for it on our Online Forums, https://www.opclabs.com/forum/index ! You do not have to own # a commercial license in order to use Online Forums, and we reply to every post. # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from System import * from System.Collections import * from OpcLabs.BaseLib.DataTypeModel import * # Create enumeration data with value of 1. enumerationData = EnumerationData(1) print(enumerationData) # Create opaque data from an array of 2 bytes, specifying its size as 15 bits. opaqueData1 = OpaqueData( [0xAA, 0x55], 15) # sizeInBits print(opaqueData1) # Create opaque data from a bit array. bitArray = BitArray(5) bitArray[0] = False bitArray[1] = True bitArray[2] = False bitArray[3] = True bitArray[4] = False opaqueData2 = OpaqueData(bitArray) print(opaqueData2) # Create primitive data with System.Double value of 180.0. primitiveData1 = PrimitiveData(180.0) print(primitiveData1) # Create primitive data with System.String value. primitiveData2 = PrimitiveData('Temperature is too high!') print(primitiveData2) # Create sequence data with two elements, using the Add method. sequenceData2 = SequenceData() sequenceData2.Elements.Add(opaqueData1) sequenceData2.Elements.Add(opaqueData2) print(sequenceData2) # Create structured data with two members, using the Add method. structuredData2 = StructuredData() structuredData2.Add('Message', primitiveData2) structuredData2.Add('Status', enumerationData) print(structuredData2) # Create union data. unionData1 = UnionData('DoubleField', primitiveData1) print(unionData1) print() print('Finished.')
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Documentation Home, Send Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.